package com.zzzy.sys.dao.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zzzy.sys.dao.entity.User;
import com.zzzy.framework.core.mybatis.mapper.BaseMapperE;
import com.zzzy.sys.vo.usermanage.UserPageReq;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户信息表 Mapper 接口
 *
 * @author fc
 * @since 2024-04-19
 */
public interface UserMapper extends BaseMapperE<User> {

    /**
     * 通过父部门ID查询指定部门及子部门下所有用户
     */
    List<User> selectDeptAndChildDeptUserListByParentDeptId(Long deptId);

    /**
     * 判断指定用户是否有指定权限
     * @param userId
     * @param permission
     * @return
     */
    int selectUserCountByUserIdAndPermission(@Param("userId") Long userId, @Param("permission") String permission);

    IPage<User> selectUserPage(IPage<User> mpPage,@Param("queryReq") UserPageReq queryReq);
}
